#[test]
fn test_string_type_system() {
    // 测试字符串类型
    let string_methods = StringMethods::create_all_methods();

    // 测试基本方法是否存在
    assert!(string_methods.contains_key("长度"));
    assert!(string_methods.contains_key("是否空"));
    assert!(string_methods.contains_key("转大写"));
    assert!(string_methods.contains_key("转小写"));
    assert!(string_methods.contains_key("包含"));
    assert!(string_methods.contains_key("分割"));
    assert!(string_methods.contains_key("替换"));
    assert!(string_methods.contains_key("截取"));

    // 测试工具函数
    assert_eq!(StringUtils::pad_left("123", 5, '0'), "00123");
    assert_eq!(StringUtils::pad_right("123", 5, '0'), "12300");
    assert_eq!(StringUtils::unicode_length("你好"), 2);
    assert_eq!(StringUtils::substring("hello world", 6, 11), "world");
    assert_eq!(StringUtils::reverse("hello"), "olleh");
    assert!(StringUtils::is_palindrome("level"));
    assert!(!StringUtils::is_palindrome("hello"));
}
